A fault tolerant system is designed to allow continuous service by the system during the occurrence of a hardware failure. In such cases, to restore data and maintain its integrity, a master copy of the data generated by the computer is kept in storage somewhere in the main memory at all time. Therefore everytime data is compiled, it is usually preserved in some hard copy device such as a hard disc or a tape for future use. It is also common practice to keep dual copies of data, in case of hardware failures affecting the original copy. To keep the necessary storage at a minimum data is packed and the procedure of backing up data is time consuming, and causes overall performance degradation of the system. Storage is a critical element of a fault tolerant system. Tasks are terminated and have to be restarted when critical storage data is damaged, affecting the overall turn-around time for the completion of the program. It has been an on-going challenge to provide a data storing method that can selectively copy multiple copies of data into storage without affecting the performance of the system as a whole and to address the problem of data restoration after a hardware failure.